package com.pigs.pigscheckinginsystem.util;

import javax.xml.crypto.Data;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author PIGS-猪农·杨
 * @version 1.0
 * @date 2020/3/6 18:25
 * @effect 时间 工具类
 */
public class TimeUtitl {

    /**
     * 获取年月日时分秒
     *
     * @return
     */
    public static String dateTime() {
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String timeFormat = simpleDateFormat.format(date);
        return timeFormat;
    }

    /**
     * 获取当前的时分秒
     * 格式化好的
     *
     * @return
     */
    public static String getTimeHmsFormat() {
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
        String timeFormat = simpleDateFormat.format(date);
        return timeFormat;
    }

    /**
     * 获取当前的时
     *
     * @return
     */
    public static Integer getHours() {
        Date date = new Date();
        int hours = date.getHours();
        return hours;
    }


    /**
     * 获取当前的时分秒
     * 格式化好的
     *
     * @return
     */
    public static Long getTimeHms() throws ParseException {
        Date date = new Date();
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
        String format = simpleDateFormat.format(date);
        long time = simpleDateFormat.parse(format).getTime();
        return time;
    }

    /**
     * 获得
     * 时分秒
     *
     * @return
     */
    public static Date initDateByDay(Integer h, Integer m, Integer s) {
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(new Date());
        calendar.set(Calendar.HOUR_OF_DAY, h);
        calendar.set(Calendar.MINUTE, m);
        calendar.set(Calendar.SECOND, h);
        return calendar.getTime();
    }

    /**
     * 把获取的 时分秒 格式化好的数据
     * 比如 8:20:00
     *
     * @param s
     * @param
     * @param m
     * @return
     * @throws ParseException
     */
    public static String getSfm(Integer h, Integer m, Integer s) {
        Date time = TimeUtitl.initDateByDay(h, m, s);
        SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
        String format1 = format.format(time);
        return format1;
    }

    /**
     * 把获取的 时分秒 格式化好的数据转成毫米
     *
     * @param s
     * @param f
     * @param m
     * @return
     * @throws ParseException
     */
    public static Long formatSfm(Integer s, Integer f, Integer m) throws ParseException {
        Date time = TimeUtitl.initDateByDay(s, f, m);
        SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
        String format1 = format.format(time);
        long time1 = format.parse(format1).getTime();
        return time1;
    }


}
